﻿namespace HiMap.Carto
{
    using HiMap.Base;
    using HiMap.Geometry;
    using System;

    public interface IFeatureClass : IClass, IHiMapPtr
    {
        bool BeginEdit();
        bool Compress();
        IFeature CreateFeature();
        bool DeleteFeature(IFeature obj);
        bool IsEdit();
        bool OpenDataIndex(DataIndexType type, bool NoneCreate);
        bool OpenSpatialIndex(bool CreateNew);
        bool SaveEdit();
        IFeatureCursor Search(IQueryFilter Filter);
        bool StopEdit(bool save);

        HiMap.Carto.FeatureClassType FeatureClassType { get; }

        IFields Fields { get; }

        HiMap.Geometry.GeometryType GeometryType { get; }
    }
}

